Page({
  data: {
    clocker: null,                     // 倒计时--定时动画
    minute: 0,                         // 倒计时--分钟
    second: 0,                        // 倒计时--秒数
    timeSpace: 0,                     // 倒计时--时长区间
    leftTime: 0,                      // 倒计时--剩余时间
    progressBar: 0,                   // 倒计时--进度条
  },

  // 倒计时
  countDown(timeLong) {
    // 结束时间秒数
    let endTime = new Date().getTime() + (timeLong * 60 * 1000)
    // 时长(用以计算进度条百分数)
    let timeSpace = endTime - new Date().getTime()
    // this指向
    let that = this
    // 实现倒计时逻辑代码
    that.data.clocker = setInterval(function () {
      // 剩余时间
      let leftTime = endTime - new Date().getTime()
      // 进度条百分数
      let progressBar = (1 - (leftTime / timeSpace)).toFixed(2) * 100 + '%'
      // 倒计时结束
      if (leftTime < 1) {
        clearInterval(that.data.clocker);
        that.setData({
          minute: '00',
          second: '00',
          clocker: null,
          timeSpace: timeSpace,
          leftTime: leftTime,
          progressBar: progressBar
        })
        return;
      }
      // 倒计时进行中
      let leftSecond = parseInt(leftTime / 1000)
      //天数
      let Day = Math.floor(leftSecond / (60 * 60 * 24))
      //小时
      let Hour = Math.floor((leftSecond - Day * 24 * 60 * 60) / 3600)
      //分钟
      let Minute = Math.floor((leftSecond - Day * 24 * 60 * 60 - Hour * 3600) / 60)
      //秒数
      let Second = Math.floor(leftSecond - Day * 24 * 60 * 60 - Hour * 3600 - Minute * 60)
      if (Minute >= 0 && Second >= 0) {
        that.setData({
          minute: Minute < 10 ? '0' + Minute : Minute,
          second: Second < 10 ? '0' + Second : Second,
          timeSpace: timeSpace,
          leftTime: leftTime,
          progressBar: progressBar
        })
      }
    }, 1000)
  },
  // 开始倒计时
  startCountdown() {
    // 开启倒计时
    this.countDown(15)
  },
  stopCountdown() {
    let _this = this
    clearInterval(_this.data.clocker)
  },
})